In computer science, “compile-time” operations performed by a compiler often include syntax analysis, semantic analysis such as type checks, and code generation, for example. Programming language definitions may specify compile-time requirements that program source code will meet in order to compile. For instance, in some situations the amount of storage required by types and variables is determined at compile-time. Program properties investigated at compile-time may include array bound range-checks, deadlock-checks in concurrent languages, and estimates of required execution time, for example.
“Run-time” operations occur after compile-time. A run-time environment (a.k.a. “runtime environment” or simply “runtime”) provides software services for programs while they execute in a computer. In a given system, run-time activities may include loading and linking the classes needed to execute a program, optional machine code generation, program optimization, and actual program execution, for example.